package com.ting.utils;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.ting.entity.Mnu;

import java.util.ArrayList;
import java.util.List;

public class iterateMenus {

    /**
     * 1.子菜单是很多的 -> List  子菜单还有 id 将其放入参数中
     * 2.要将子菜单添加到 list -> ArrayList add
     * 3.判断父菜单id是否为空 ->StringUtils.isNotBlank
     * 4.判断父菜单id 是否等于子菜单id -> equals
     * 5.基于3、4想到要获取 -> get...
     * 6.基于5 想要获取什么的时候 要进行遍历循环
     * @param menuVoList
     * @param id
     * @return
     */
    public List<Mnu> iterateMenus(List<Mnu> menuVoList, String id){
        List<Mnu> result = new ArrayList<>();
        for (Mnu menu : menuVoList) {
            //获取菜单的id
            String menuid = menu.getId();
            //获取菜单的父id
            String parentid = menu.getPid();
            if(StringUtils.isNotBlank(parentid)){
                if(parentid.equals(id)){
                    //递归查询当前子菜单的子菜单
                    List<Mnu> iterateMenu = iterateMenus(menuVoList,menuid);
                    menu.setMnuChildren(iterateMenu);
                    result.add(menu);
                }
            }
        }
        return result;
    }

}
